api-keys.ts 1.3 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950
  1. import { components } from 'api-types'
  2. import { NextApiRequest, NextApiResponse } from 'next'
  3. import apiWrapper from '@/lib/api/apiWrapper'
  4. type ProjectAppConfig = components['schemas']['ProjectSettingsResponse']['app_config'] & {
  5. protocol?: string
  6. }
  7. export type ProjectSettings = components['schemas']['ProjectSettingsResponse'] & {
  8. app_config?: ProjectAppConfig
  9. }
  10. export default (req: NextApiRequest, res: NextApiResponse) => apiWrapper(req, res, handler)
  11. async function handler(req: NextApiRequest, res: NextApiResponse) {
  12. const { method } = req
  13. switch (method) {
  14. case 'GET':
  15. return handleGetAll(req, res)
  16. default:
  17. res.setHeader('Allow', ['GET'])
  18. res.status(405).json({ data: null, error: { message: `Method ${method} Not Allowed` } })
  19. }
  20. }
  21. const handleGetAll = async (_req: NextApiRequest, res: NextApiResponse) => {
  22. const response = [
  23. {
  24. name: 'anon',
  25. api_key: process.env.BRIVEN_ANON_KEY ?? '',
  26. id: 'anon',
  27. type: 'legacy',
  28. hash: '',
  29. prefix: '',
  30. description: 'Legacy anon API key',
  31. },
  32. {
  33. name: 'service_role',
  34. api_key: process.env.BRIVEN_SERVICE_KEY ?? '',
  35. id: 'service_role',
  36. type: 'legacy',
  37. hash: '',
  38. prefix: '',
  39. description: 'Legacy service_role API key',
  40. },
  41. ]
  42. return res.status(200).json(response)
  43. }